import 'package:flutter/material.dart';

// DemoPage 是一个 StatefulWidget，表示该组件有状态，会随着用户交互或其他事件而变化。
// StatefulWidget 会关联一个状态类（State），它包含了需要动态更新的内容。
class DemoPage extends StatefulWidget {
  const DemoPage({super.key, required this.title});
  // title 是 DemoPage 的构造函数中的必需参数，用于传递页面的标题。
  final String title;

  // createState() 方法返回一个 _DemoPageState 实例，这个状态类负责管理该页面的状态。
  @override
  State<DemoPage> createState() => _DemoPageState(); //
}

// _DemoPageState 是与 DemoPage 组件关联的状态类。 State 用于管理组件的状态。
class _DemoPageState extends State<DemoPage> {
  // _counter 是一个私有变量，用于记录按钮点击的次数，初始值为 0。
  int _counter = 0;
  // 方法 更新状态
  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  @override
  // 这里的build 也是在构建UI 意思是构建的 home 页面
  Widget build(BuildContext context) {
    // Scaffold 是一个常用的布局组件，用于构建应用的基本结构
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            const Text('You have pushed the button this many times:'),
            Text('$_counter',style: Theme.of(context).textTheme.headlineMedium),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}
